home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / logs / logbook / log2dbf.prg < prev    next >
Text File  |  1990-05-04  |  4KB  |  119 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: LOG2DBF.PRG
  4. *:
  5. *:         System: PC-HAM Logbook
  6. *:         Author: Joe Kasser G3ZCZ
  7. *:      Copyright (c) 1990, Joe Kasser
  8. *:  Last modified: 12/24/87     23:31
  9. *:
  10. *:      Called by: LOGMISCF.PRG                  
  11. *:
  12. *:           Uses: &LOG           
  13. *:               : &CONTESTLOG.DBF
  14. *:               : &OLDLOG        
  15. *:               : &LOGBOOK.DBF   
  16. *:
  17. *:        Indexes: &CONTESTLOG
  18. *:               : &LOGNDX
  19. *:
  20. *:      Documented 05/04/90 at 13:49                SNAP!  version 3.12f
  21. *:*********************************************************************
  22. *LOG2DBF CONVERTS A BASIC LOG FILE TO A DATABASE VERSION 851114
  23. * Modified 871120
  24. STORE 'LOG' TO LOG
  25. IF FILE (LOG + '.DBF')
  26.    USE &log
  27.    * EMPTY LOG FILE
  28.    
  29.    STORE ' ' TO contestlog
  30.    ACCEPT 'What is the name of the contest log (D:NAME) ' TO contestlog
  31.    IF FILE (contestlog + '.DBF')
  32.       ? 'ERROR,',contestlog,' ALREADY EXISTS'
  33.       WAIT
  34.    ELSE
  35.       IF FILE (contestlog+'.LOG')
  36.          COPY STRUCTURE TO &contestlog
  37.          ?
  38.          ? ' New database file created'
  39.          USE &contestlog
  40.          STORE TRIM(contestlog) + '.LOG' TO oldlog
  41.          ?
  42.          ? 'Copying log data now'
  43.          SET TALK ON
  44.          APPEND  FROM &oldlog DELIM
  45.          SET TALK OFF
  46.          STORE ' ' TO df
  47.          ACCEPT ' Do you want a listing of the database (Y/N) ? ' TO df
  48.          IF UPPER(df) = 'Y'
  49.             LIST
  50.             ?
  51.          ENDIF
  52.          ?
  53.          
  54.          ACCEPT 'Do you want the contacts numbered (Y/N) ? ' TO df
  55.          IF UPPER(df) = 'Y'
  56.             STORE 1 TO qsocount
  57.             GOTO TOP
  58.             DO WHILE .not. EOF()
  59.                REPLACE rx WITH SUBSTR(comments,1,3)
  60.                REPLACE comments WITH SUBSTR(comments,4,10)
  61.                IF UPPER(df) = 'Y'
  62.                   STORE STR(qsocount,10) TO number
  63.                   DO WHILE SUBSTR(number,1,1) = ' '
  64.                      STORE SUBSTR(number,2,10) TO number
  65.                   ENDDO
  66.                   REPLACE comments WITH TRIM(number)+'-'+comments
  67.                   STORE qsocount + 1 TO qsocount
  68.                ENDIF
  69.                DISP
  70.                SKIP
  71.             ENDDO
  72.          ENDIF
  73.          
  74.          ACCEPT 'Do you want to INDEX the contest log (DBF) (Y/N) ? ' TO df
  75.          IF UPPER(df) = 'Y'
  76.             ?
  77.             USE &contestlog
  78.             SET TALK ON
  79.             INDEX ON CALL+band TO &contestlog
  80.             SET TALK OFF
  81.             ? 'TO PRINT CONTEST LOG, go back to main menu'
  82.             ?
  83.             ? 'SET LOG TO contestlog, AND PRINT IT'
  84.             WAIT
  85.          ENDIF
  86.          
  87.          ACCEPT 'Append the new log to the main logbook (Y/N) ? ' TO df
  88.          IF UPPER(df) = 'Y'
  89.             ?
  90.             IF FILE (logbook + '.DBF')
  91.                USE &logbook INDEX &logndx
  92.                SET TALK ON
  93.                APPEND FROM &contestlog
  94.                SET TALK OFF
  95.             ELSE
  96.                ? 'ERROR,',logbook,' IS NOT ON DEFAULT DRIVE'
  97.                WAIT
  98.             ENDIF
  99.          ENDIF
  100.          
  101.          ACCEPT 'Do you want to make the contest log the default log ? ' TO df
  102.          IF UPPER(df) = 'Y'
  103.             STORE contestlog TO logbook
  104.             STORE contestlog TO logndx
  105.          ENDIF
  106.       ELSE
  107.          ? 'ERROR CONTEST LOG IS NOT ON DEFAULT DRIVE'
  108.          WAIT
  109.       ENDIF
  110.    ENDIF
  111. ELSE
  112.    ? 'BLANK LOG IS NOT ON DEFAULT DRIVE'
  113.    WAIT
  114. ENDIF
  115. RELEASE oldlog,df,contestlog,LOG
  116. USE
  117. RETURN
  118. *: EOF: LOG2DBF.PRG
  119.